网工Python之路之基础笔记(二)
加群交流在后台回复“加群”,添加小编微信,小编拉你进去
后台回复“724”获取入门资料
【文末送书】
转载:知乎朱嘉盛“网工手艺”专栏
https://www.zhihu.com/people/zhu-jia-sheng-71
《网工工程师python之路》作者王印,知乎艺名:弈心
B站视频课程链接:https://www.bilibili.com/video/BV1gf4y1p7Kz
布尔值概念
计算机0和1组成,数字电路高低电平。《易经》围绕阴阳铺开。《道德经》提及了“有无相生,难易相成,长短相较,高下相倾,音声相和,前后相随。”
Python中的布尔值为True,False,主要作用是来判断条件是否成立。如果条件成立则Python返回True,否则Python返回False。
首字母必须大写,如果写成true,false了,就不是布尔值,而可能是变量名(不过不建议变量名用这些= =)
来说再多不如来动手敲一敲。
与布尔运算相关运算符
比较运算符
运算符 | 中文含义 | 备注 |
---|---|---|
== | 等于 | 特别注意,=是赋值号,不是等于号 |
!= | 不等于 | |
> | 大于 | |
< | 小于 | |
>= | 大于等于 | “小于”或者“等于” |
<= | 小于等于 | “大于”或者“等于” |
还是那句话,来说再多不如来动手敲一敲。
逻辑运算符
运算符 | 中文含义 | 备注 |
---|---|---|
and | 与运算 | and左右两边要同时成立 |
or | 或运算 | and左右两边任一成立即可 |
not | 非运算 | 取反操作 |
敲敲敲!
成员运算符
运算符 | 中文含义 | 备注 |
---|---|---|
in | 被包含 | 前是仔,后是母 |
not in | 不被包含 | 留意“被”字 |
我想作为网络工程师,这些的返回稍微敲一敲体验下就能理解到位。这两个成员运算符在Python自动化运维中,经常被我们用在判断设备CLI回显报文是否满足要求的场景。
bool()
对所有为空的对象,永远返回False。
解释 | |
---|---|
None | 空 |
0 | 整数零 |
0.0 | 浮点数零 |
0j | 长整型零 |
'' | 空字符串 |
[] | 空列表 |
{} | 空字典 |
() | 空元组 |
上面的敲啥都能返回Fasle,大家敲一下就知道了,我就不贴图了。
我们来看下面的。最开始会不会觉得有点绕,再想想就可以理解了。
我们可以用help(bool)看看python怎么定义bool的。
集合
Python中,“集合”可以说是特殊的列表。列表可以有重复的元素,而集合不允许这样。另外,集合是无序的。字典则是有序的、带键值对的集合。
无序不能索引,自然也没办法定位。来,看这个。
我们使用集合基本上就是围绕着它“不重复”、“无序”这两个特点。
add()
给集合增加元素。
remove()
给集合删除元素。
rozenset()
冻结集合,顾名思义,保持不变。总结个口诀吧“加不了,删不掉”!来,敲一下感受下。
元组
元组也是特殊的列表,是一个一旦创建了,就“加不了”、“删不掉”元素的列表,但它有序的,可重复。
建元组的两种方法如下:
vendors1 = ('Cisco','Juniper','Huawei')
vendors2 = tuple(('Cisco','Juniper','Huawei'))
看一下元组的类型。
切片,索引
它是有序的,那么索引啊,切片啊就跟列表是一模一样的。不多说了,我们直接来体验一把。
不能增删改
列表中涉及的一些增删改操作,我们在元组中全部失效。这块是不是就有点像frozenset()了呀?!实际上,如果我们确实要改变一个元组的内容,可以重新组合下构建一个新的元组,然后再赋值给原来的那个变量。(假装对元组进行了修改= =哈哈)
index()
通过元素的值来定位元素的索引号。
如果元素是重复的,通过元素的值进行index,则返回最小的索引序号。
count()
计算元组中同个元素的个数。换句话说,就是一个元组中,某个元素重复了几次。
小结
比较 | 有序 | 可重复 | 增删改 | 索引、切片 | index() |
---|---|---|---|---|---|
列表 | √ | √ | √ | √ | √ |
元组 | √ | √ | × | √ | √ |
集合 | × | × | √ | × | × |
frozenset | × | × | × | × | × |
关注“Linux运维进阶之路”后台回复“811”参与
转发此文案到朋友圈,然后添加小编后截图发给小编,小编才可拉入群参与抽奖。